package com.ibeeking.found.cop.b.rest.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ibeeking.found.cop.service.common.bo.MsgSendRuleBO;
import com.ibeeking.found.cop.service.common.dos.MsgMassMessageDO;
import com.ibeeking.found.cop.service.common.param.MsgMassMessageParam;
import com.ibeeking.found.cop.service.common.query.MsgMassMessagePageQuery;
import com.ibeeking.found.cop.service.common.query.MsgMassMessageQuery;
import com.ibeeking.found.cop.service.common.vo.MsgMassMessageVO;

import java.util.List;

public interface IMsgGroupMassMessageService {

    /***
     * 查询列表
     */
    List<MsgMassMessageVO> list(MsgMassMessageQuery query);

    /***
     * 分页查询
     */
    Page<MsgMassMessageVO> pageList(MsgMassMessagePageQuery pageQuery);

    /***
     * 新增
     */
    Boolean add(MsgMassMessageParam param);

    /***
     * 修改
     */
    Boolean modify(MsgMassMessageParam param);
    /***
     * 批量修改
     */
    Boolean updateBatch(List<MsgMassMessageDO> entityDOList);
    /***
     * 通过id复制一条新纪录
     */
    Boolean copy(Long id);

    /***
     * 查询客户数
     */
    Integer summaryReceiverTotal(MsgSendRuleBO msgSendRuleBO);
    /***
     * 通过id查询
     */
    MsgMassMessageVO view(Long id);
    /***
     * 发送消息
     */
    Boolean sendWxCpGroupMassMessage(Long id);
    /***
     * 刷新客户群发消息记录，
     */
    Boolean refreshWxCpGroupMassMessageSendRecord();
    /***
     * 取消发送消息
     */
    Boolean stopWxCpGroupMassMessage(Long id);
    /***
     * 修改状态
     */
    Boolean changeStatus(Long id, Integer status);


    /***
     * 通过id删除
     */
    Boolean del(Long id);
    /**
     * 从企业微信同步q群信息
     *
     * @param
     */
    Integer syncGroupMassMessageToWxCp(Integer tenantId, Long msgId);
    /***
     * 通过企业微信客户群群发消息
     */
    Boolean sendGroupMassMessageToWxCp(Integer tenantId, Long msgId);
    /***
     * 通过企业微信客户群群发消息
     */
    Boolean stopSendGroupMassMessageToWxCp(Integer tenantId, Long msgId);
}
